Content distribution device and method

ABSTRACT

An information processing apparatus and method, information management apparatus and method, recording medium, and program that permit efficient use of hardware resources and distribute contents with ease are provided. When communication can be established via a network (when the line is available), clients  11 - 1  through  11 - 3 , which have acquired contents from a contents distribution server and stored them, transmit the stored contents to remote clients in accordance with destination designation information attached to the contents. For example, client  11 - 1  transmits the contents, which have been acquired from the contents distribution server and stored, to clients  12 - 1  and  12 - 2 , which are designated as destination clients by the destination designation information. The present invention can be applied, for example, to a router or a personal computer providing a communication section and a hard disk or other storage medium.

CROSS REFERENCES TO RELATED APPLICATIONS

The present application claims priority to Japanese Patent Document No.P2002-148524 filed on May 23, 2002, the disclosure of which is hereinincorporated by reference.

BACKGROUND OF THE INVENTION

The present invention relates to an information processing apparatus anda method, an information management apparatus and a method, a recordingmedium, and a program. More particularly the present invention relatesto an information processing apparatus and a method, an informationmanagement apparatus and a method, a recording medium, and a programthat permit efficient use of hardware resources and distribute contentswith ease.

In recent years, various broadband environments are being established.Therefore, the supply of service contents such as English school lessonsand banking operations and the distribution of video data, music data,and other contents have been initiated vigorously.

A server providing a contents distribution service reads contents incompliance with requests from individual clients, and supplies the readcontents to the clients. The clients can thus store the contents orperform, for example, a streaming reproduction.

However, in a central server type (concentrated) distribution service inwhich a plurality of clients access a single server to perform, forexample, a contents streaming reproduction, it is difficult for theserver to achieve distribution in compliance with all requests whilemaintaining contents quality if a contents distribution issimultaneously requested by a large number of clients.

More specifically, if a contents distribution is requestedsimultaneously by many clients, it is difficult to acquire transmissionpaths (transmission bands) between the server and clients. In addition,the processing load imposed on the server increases. As a result, theserver cannot readily accomplish distribution in compliance with allrequests.

The use of a high-performance server or a decentralized distributionserver including a plurality of computers is proposed in order to handlesimultaneous access from many clients. However, if such a large-scaledistribution server is constructed, its management cost is very high andit is difficult to earn such a high cost. In general, a large number ofclients gain access during a specific period of time such as at night onweekends. However, if the server is constructed so as to handle theaccess (maximum load) during such a period of time, the server is notfully used during daytime on weekdays or other period of time duringwhich access is infrequently gained. It means that the resultingefficiency is low because the hardware resources are wasted.

SUMMARY OF THE INVENTION

The present invention relates to an information processing apparatus anda method, an information management apparatus and a method, a recordingmedium, and a program. More particularly the present invention relatesto an information processing apparatus and a method, an informationmanagement apparatus and a method, a recording medium, and a programthat permit efficient use of hardware resources and distribute contentswith ease.

The present invention in an embodiment facilitates contents distributionwhile assuring the efficient use of hardware resources.

An information processing apparatus according to an embodiment of thepresent invention includes storage means for storing contents that aresupplied from an information management apparatus, transmission meansfor transmitting contents to a first remote information processingapparatus that is specified by designation information accompanying thestored contents, distribution cost calculation means for calculating thedistribution cost of the transmitted contents, and management means formanaging price information that corresponds to the calculateddistribution cost.

The information processing apparatus according to an embodiment of thepresent invention may further include acquisition means for acquiringcontents from the information management apparatus or from a secondremote information processing apparatus that receives the supply ofcontents from the information management apparatus. In this instance,the storage means stores contents that are acquired by the acquisitionmeans.

The information processing apparatus according to an embodiment of thepresent invention may further include reproduction means, which, when aninstruction is issued to reproduce contents stored by the storage means,reproduces the contents in accordance with price information managed bythe management means.

The above-mentioned distribution cost calculation means can calculatethe time during which contents are transmitted by the transmissionmeans, and regard the calculated time as a distribution cost. In thisinstance, the management means manages price information thatcorresponds to the time calculated by the calculation means.

The distribution cost calculation means can calculate the data amount ofcontents transmitted by the transmission means and regard the calculateddata amount as the distribution cost.

The information processing apparatus according to an embodiment of thepresent invention may further include detection means for detecting thecommunication status of the information processing apparatus andcommunication control means for controlling the contents transmissionfrom the transmission means in accordance with the communication statusdetected by the detection means.

An information processing method according to an embodiment of thepresent invention includes a storage step of storing contents suppliedfrom the information management apparatus, a transmission step oftransmitting contents to a remote information processing apparatus thatis specified by designation information accompanying the contents, adistribution cost calculation step of calculating the distribution costof the transmitted contents, and a management step of managing priceinformation that corresponds to the distribution cost.

A program recorded on a first recording medium according to anembodiment of the present invention and a first program according to thepresent invention include a storage control step of controlling thestorage of contents supplied from the information management apparatus,a transmission control step of controlling the transmission of contentsto a remote information processing apparatus that is specified bydesignation information accompanying the contents, a distribution costcalculation control step of controlling the calculation of thedistribution cost of the transmitted contents, and a management controlstep of controlling the management of price information corresponding tothe calculated distribution cost.

The information processing apparatus, method, and program according toan embodiment of the present invention store contents supplied from theinformation management apparatus, and transmit the contents to a remoteinformation processing apparatus that is specified by designationinformation accompanying the stored contents. Further, the distributioncost of the transmitted contents is calculated to manage priceinformation that corresponds to the calculated distribution cost.

The information management apparatus according to an embodiment of thepresent invention includes storage means for storing contents that areavailable with the information acquired by the information processingapparatus used as a price when the contents are transmitted from theinformation processing apparatus to a remote information processingapparatus, generation means for generating, for the informationprocessing apparatus that has acquired contents, designation informationthat specifies a remote information processing apparatus to which thecontents are to be transmitted, and supply means for supplying thecontents and designation information to the information processingapparatus.

The information management apparatus according to an embodiment of thepresent invention may further include management means for managing thelocation of the information processing apparatus within a network. Whenthe information processing apparatus notifies that the contents cannotbe transmitted to the remote information processing apparatus, thegeneration means can generate designation information that includesinformation indicating the location of the remote information processingapparatus, which is managed by the management means.

The generation means can generate the designation information so thatthe information processing apparatus transmits the contents to theremote information processing apparatus when the period during which theinformation processing apparatus can communicate is longer than theperiod during which the remote information processing apparatus cancommunicate.

An information management method exercised by the information managementapparatus according to an embodiment of the present invention includes astorage step of storing contents that are available with the informationacquired by the information processing apparatus used as a price whenthe contents are transmitted from the information processing apparatusto a remote information processing apparatus, a generation step ofgenerating, for the information processing apparatus that has acquiredcontents, designation information that specifies a remote informationprocessing apparatus to which the contents are to be transmitted, and asupply step of supplying the contents and designation information to theinformation processing apparatus.

A program recorded on a second recording medium according to anembodiment of the present invention and a second program according tothe present invention include a storage control step of controlling thestorage of contents that are available with the information acquired bythe information processing apparatus used as a price when the contentsare transmitted from the information processing apparatus to a remoteinformation processing apparatus, a generation step of generating, forthe information processing apparatus that has acquired contents,designation information that specifies a remote information processingapparatus to which the contents are to be transmitted, and a supplycontrol step of controlling the supply of the contents and designationinformation to the information processing apparatus.

The information management apparatus, method, and program according toan embodiment of the present invention store contents that are availablewith the information acquired by the information processing apparatusused as a price when the contents are transmitted from the informationprocessing apparatus to a remote information processing apparatus, andgenerate, for the information processing apparatus that has acquiredcontents, designation information that specifies a remote informationprocessing apparatus to which the contents are to be transmitted.Further, the contents and designation information are supplied to theinformation processing apparatus.

The foregoing term “communication” may represent wireless communication,wired communication, or a mixture of both in which wirelesscommunication is used in one block whereas wired communication is usedin another block. Another alternative is to use wired communication forthe transmission from a first apparatus to a second apparatus andwireless communication for the transmission from the second apparatus tothe first apparatus.

The foregoing term “contents” represents various digital data, includingvideo image, music data, and an application program that is used in theinformation processing apparatus.

Additional features and advantages of the present invention aredescribed in, and will be apparent from, the following DetailedDescription of the Invention and the figures.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is a block diagram illustrating a typical configuration of acontents distribution system according to an embodiment of the presentinvention.

FIG. 2 is a schematic diagram illustrating how contents are distributedfrom a contents distribution server that is shown in FIG. 1.

FIG. 3 is a block diagram illustrating a typical configuration of thecontents distribution server that is shown in FIG. 1.

FIG. 4 is a block diagram illustrating a typical functionalconfiguration of the contents distribution server that is shown in FIG.1.

FIG. 5 is a block diagram illustrating a typical functionalconfiguration of a client that is shown in FIG. 1.

FIG. 6 is a flowchart illustrating a contents distribution process thatis performed by the contents distribution server shown in FIG. 1.

FIG. 7 shows an example of distribution data.

FIG. 8 is a flowchart illustrating a contents acquisition process thatis performed by a client shown in FIG. 1.

FIG. 9 shows an example of contents that are stored in a contentsstorage section shown in FIG. 5.

FIG. 10 is a flowchart illustrating a contents distribution process thatis performed by a client shown in FIG. 1.

FIG. 11 is a flowchart illustrating a contents distribution processperformed by a client shown in FIG. 1.

FIG. 12 is a flowchart illustrating a contents reproduction processperformed by a client shown in FIG. 1.

FIG. 13 is a schematic diagram illustrating an example of contentsdistribution.

FIG. 14 shows an example of a destination list.

FIG. 15 is a flowchart illustrating a process performed by a clientshown in FIG. 13.

FIG. 16 is a flowchart illustrating in detail a destination list updateprocess performed in step S77, which is shown in FIG. 15.

FIG. 17 is a flowchart illustrating a process that is performed by acontents distribution server.

DETAILED DESCRIPTION OF THE INVENTION

The present invention relates to an information processing apparatus anda method, an information management apparatus and a method, a recordingmedium, and a program. More particularly the present invention relatesto an information processing apparatus and a method, an informationmanagement apparatus and a method, a recording medium, and a programthat permit efficient use of hardware resources and distribute contentswith ease.

FIG. 1 is a block diagram illustrating a typical configuration of acontents distribution system according to an embodiment of the presentinvention.

A contents distribution server 1 manages a plurality of contentssupplied from a contents holder, which is not shown, and supplies videodata, music data, or other similar contents via a network 2 incompliance with requests from clients 11-1 through 11-3, which areconnected to the network 2. The example shown in FIG. 1 illustratesclients 11-1 through 11-3 as the clients that receive the contentssupplied from the contents distribution server. In reality, however,many other clients are connected to the network 2.

Clients 11-1 through 11-3 store contents when they acquire the contentsfrom the contents distribution server 1. Clients 11-1 through 11-3 arehereinafter generically referred to as client 11 if they need not bedifferentiated from each other. This also holds true for the otherclients that will be described later. In compliance with designationinformation written in a header for stored contents, client 11 transmitsstored contents to the other clients connected to the network 2 at apredetermined timing when, for example, communication can be establishedwhile no process is being performed via the network 2.

Upon receipt of the contents supplied from client 11, the other clientstransmit the contents supplied from client 11 to the still other clientsin compliance with designation information written in the header whilecommunication can be established as is the case with client 11.

In the process described above, the supplied contents are transmittedfrom one client to a plurality of clients. The process is repeatedlyperformed by all clients. As a result, the contents supplied from thecontents distribution server 1 are supplied to a large number ofclients.

FIG. 2 is a schematic diagram illustrating a process in which contentssupplied from the contents distribution server 1 are distributed to manyclients.

As shown in FIG. 2, the contents supplied from the contents distributionserver 1 to client 11-1 are transmitted from client 11-1 to clients 12-1and 12-2 via the network 2 in compliance with destination designationinformation written in the header for the contents, and stored byclients 12-1 and 12-2. When the clients are ready for communication, thecontents stored by clients 12-1 and 12-2 are further transmitted tolower-level clients (not shown) in compliance with the destinationdesignation information written in the header.

Similarly, the contents supplied from the contents distribution server 1to client 11-2 and stored are transmitted to clients 12-3 and 12-4,which are designated by the destination designation information, whenclient 11-2 is ready for communication, and stored by clients 12-3 and12-4. When clients 12-3 and 12-4 are ready for communication, thecontents are further transmitted to lower-level clients in compliancewith the destination designation information. In addition, the contentssupplied from the contents distribution server 1 to client 11-3 aresimilarly transmitted to clients 12-5 and 12-6 when client 11-3 is readyfor communication.

As described above, the contents supplied from the contents distributionserver 1 are sequentially transmitted to other clients at an appropriatecommunication timing when the user is not performing a process via thenetwork 2. Therefore, communications links and other hardware resourcescan be efficiently used. For clients who are always connected to thenetwork 2, it is preferred that the period of time during which they arenot communicating with the other devices be short. The hardwareresources can be efficiently used by transmitting contents while theclients are not communicating with the other devices.

Further, the contents are sequentially transmitted from clients toclients. Therefore, the frequency of clients' direct access to thecontents distribution server 1 can be decreased to reduce the processingload on the contents distribution server 1.

When contents are transmitted to a remote client, the data amount of thetransmitted contents, the transmission time (used hours for the line),or the like is calculated as the distribution cost in a contentstransmitting client. In accordance with the calculated distributioncost, the contents transmitting client acquires (self-manages) points(price information) for receiving various services such as the one forcontents use.

In the contents distribution system shown in FIGS. 1 and 2, a predefinednumber of points are required whenever stored contents are reproduced.When the user issues an instruction for contents reproduction,accumulated points are used for contents reproduction.

FIG. 2 indicates that each of clients 11-1 through 11-3 transmitscontents to two clients. In reality, however, the contents aretransmitted to a larger number of clients depending on the timeavailable for communication.

The above client process will be described in detail later withreference to flowcharts.

FIG. 3 is a block diagram illustrating a typical configuration of thecontents distribution server 1.

A CPU (Central Processing Unit) 21 performs various processes inaccordance with a program stored in a ROM (Read Only Memory) 22 or aprogram that is loaded from a storage section 28 into a RAM (RandomAccess Memory) 23. The RAM 23 also stores as needed the data necessaryfor various processes that the CPU 21 performs.

The CPU 21, ROM 22, and RAM 23 are interconnected via a bus 24. Aninput/output interface 25 is also connected to the bus 24.

The input/output interface 25 is connected to an input section 26, whichincludes, for example, a keyboard and a mouse; a display, which includesa CRT (Cathode Ray Tube) or an LCD (Liquid Crystal Display); an outputsection 27, which includes, for example, a loudspeaker; a storagesection 28, which includes, for example, a hard disk; and acommunication section 29, which includes, for example, a modem and aterminal adapter. The communication section 29 performs a communicationprocess via the network 2.

Further, the input/output interface 25 is connected as needed to a drive30 into which a magnetic disk 31, optical disk 32, magneto-optical disk33, semiconductor memory 34, or the like is inserted as appropriate. Acomputer program read from such media is installed as needed into thestorage section 28.

Although not shown, client 11 includes a computer that has the samebasic configuration as the contents distribution server shown in FIG. 3.In the subsequent explanation, therefore, the configuration shown inFIG. 3 will also be cited as the configuration of client 11.

FIG. 4 is a block diagram illustrating a typical functionalconfiguration of the contents distribution server 1. The elements shownin FIG. 4 are implemented when a predetermined program stored in the ROM22 or storage section 28 is loaded into the RAM 23 and executed by theCPU 21 of the contents distribution server 1.

A transmission/reception control section 41 controls the communicationbetween the communication section 29 and various devices. If, forexample, a contents transmission request is received from client 11, thetransmission/reception control section 41 outputs designationinformation, which is contained in the transmission request to specifythe contents, to a distribution data generation section 42. Further,when distribution data containing contents requested by client 11 isgenerated by the distribution data generation section 42 and supplied,the transmission/reception control section 41 controls the communicationsection 29 to transmit the distribution data to client 11 via thenetwork 2.

If designation information, which includes, for example, a contents ID,is supplied from the transmission/reception control section 41, thedistribution data generation section 42 reads requested contents from acontents storage section 44 in compliance with the designationinformation. The contents transmission request from client 11 alsocontains identification information that identifies client 11. Thedistribution data generation section 42 outputs the identificationinformation to the destination designation information selection section43.

The destination designation information selection section 43 selects thedestination designation information to be added to the contents, andoutputs the selected information to the distribution data generationsection 42. The distribution data generation section 42 generates thedistribution data to be transmitted to client 11 by adding thedestination designation information, which is selected by thedestination designation information selection section 43, to thecontents read from the contents storage section 44. As describedearlier, each client references the contents destination in accordancewith the destination designation information added to the contents, andtransmits the contents to another client. The distribution datagenerated by the distribution data generation section 42 is output tothe transmission/reception control section 41.

In accordance with the client identification information supplied fromthe distribution data generation section 42, the destination designationinformation selection section 43 arbitrarily selects a specified numberof destination designation information sets from the destinationdesignation information stored in a destination designation informationstorage section 45, and outputs the selected destination designationinformation sets to the distribution data generation section 42. Thedestination designation information is, for example, address informationset for each client in accordance with IPv6 (Internet Protocol Version6) or identification information (ID) set for each client.

The contents storage section 44 stores contents that are supplied fromthe contents holder. The destination designation information storagesection 45 stores destination designation information such as theaddress information about each client. The contents storage section 44and destination designation information storage section 45 compose thestorage section 28.

FIG. 5 is a block diagram illustrating a typical functionalconfiguration of client 11-1. The elements shown in FIG. 5 areimplemented when a predetermined program stored in the ROM 22 or storagesection 28 is loaded into the RAM 23 and executed by the CPU 21 ofclient 11-1. The configuration shown in FIG. 5 is also achieved by theother clients connected to the network 2.

A transmission/reception control section 61 controls the communicationthat is maintained with the contents distribution server 1 and otherclients via the communication section 29. When, for example, the useroperates the input section 26 to enter contents designation information,the transmission/reception control section 61 transmits a contentstransmission request, which includes the designation information, to thecontents distribution server 1 via the network 2. Further, whendistribution data containing contents is transmitted from the contentsdistribution server 1, the transmission/reception control section 61controls the communication section 29 to acquire the distribution dataand stores it in a contents storage section 66.

If, for example, the user is absent and the communication section 29 canestablish communication, the transmission/reception control section 61reads distribution data stored in the contents storage section 66, andtransmits the distribution data to another client in compliance with thedestination designation information written within the distributiondata. If, for example, distribution data supplied from the contentsdistribution server 1 and acquired by client 11-1 includes the addressinformation about client 12-1 as the destination designationinformation, the transmission/reception control section 61 of client11-1 transmits the distribution data to client 12-1 in compliance withthe destination designation information.

While the transmission/reception control section 61 transmitsdistribution data to another client, an outgoing data amount calculationsection 62 calculates the data amount of the distribution data, andoutputs the resulting information, which indicates the calculated dataamount, to a point management section 63.

The point management section 63 calculates the number of points requiredfor the use of various services such as the one for contentsreproduction in accordance with the information supplied from theoutgoing data amount calculation section 62, and stores the calculatedvalue in a point storage section 65. Further, when a reproductionmanagement section 64 informs that contents stored in the contentsstorage section 66 are to be reproduced, the point management section 63determines whether or not the points stored in the point storage section65 are adequate for reproduction of the contents. If the pointmanagement section 63 concludes that the points stored in the pointstorage section 65 are adequate for contents reproduction, thereproduction management section 64 performs a reproduction process. If,on the other hand, it is concluded that the stored points are notadequate for contents reproduction, the user is informed that thecontents cannot be reproduced.

The reproduction management section 64 manages the reproduction ofcontents stored in the contents storage section 66 such as video dataand music data in various formats. When a video signal or music signalis reproduced by the reproduction management section 64, it is output tothe LCD, loudspeaker, and other components that compose the outputsection 27.

The operations of the contents distribution server 1 shown in FIG. 1,and the client 11 will now be described with reference to flowcharts.

First of all, the process performed by the contents distribution serverto distribute (transmit) contents in compliance with a request fromclient 11 will be described with reference to the flowchart in FIG. 6.

When the configuration shown in FIG. 4 is achieved by the contentsdistribution server 1, the transmission/reception control section 41determines in step S1 whether or not it is accessed by client 11. Thetransmission/reception control section 41 stands by until it determinesthat it is accessed. If the transmission/reception control section 41determines in step S1 that it is accessed by client 11 via the network2, it proceeds to step S2 and receives a contents transmission request,which is transmitted from client 11. The transmission request contains,for example, the identification information about contents requested byclient 11 as well as the identification information about client 11.

The contents transmission request received by the transmission/receptioncontrol section 41 is output to the distribution data generation section42.

When contents designation information is supplied, the distribution datageneration section 42 performs step S3 to read contents requested byclient 11 from the contents storage section 44 in accordance with thecontents identification information. The identification informationabout client 11, which is included in the contents designationinformation, is output to the destination designation informationselection section 43 from the distribution data generation section 42.

In accordance with the identification information supplied from thedistribution data generation section 42, the destination designationinformation selection section 43 performs step S4 to select a specifiednumber of destination designation information sets, which providecontents destination designation, and outputs them to the distributiondata generation section 42.

In step S5, the distribution data generation section 42 generatesdistribution data by adding a header, which contains the destinationdesignation information selected by the destination designationinformation selection section-43, to the contents read in step S3 fromthe contents storage section 44.

The distribution data generated by the distribution data generationsection 42 is output to the transmission/reception control section 41,and transmitted via the network 2 to client 11, which has requested thetransmission of contents.

FIG. 7 shows an example of distribution data that is distributed fromthe contents distribution server 1.

The distribution data basically includes a header 81, which includesdestination designation information, and contents 82. In the exampleshown in FIG. 7, the header 81 includes destination designationinformation 1, destination designation information 2, destinationdesignation information 3, and destination designation information 4.For example, destination designation information 1 is destinationdesignation information that is to be referenced by clients 11-1 through11-3, which are nodes directly subordinate to the contents distributionserver 1 that functions as a root node as indicated in a tree structureshown in FIG. 2. Destination designation information 2 is destinationdesignation information that is to be referenced by clients 12-1 through12-6, which are nodes directly subordinate to clients 11-1 through 11-3.

When, for example, the distribution data shown in FIG. 7 is supplied toclient 11-1 and is to be transmitted to another client, client 11-1references destination designation information 1 to acquire adistribution data destination. A plurality of destination designationinformation sets (destination designation information 1-1, destinationdesignation information 1-2, and destination designation information1-3) are written within destination designation information 1. Forexample, client 11-1 references destination designation information 1-1to transmit the distribution data to client 12-1 and referencesdestination designation information 1-2 to transmit the distributiondata to client 12-2. In other words, destination designation information1-1 represents the address information about client 12-1, whereasdestination designation information 1-2 represents the addressinformation about client 12-2.

When the distribution data shown in FIG. 7, which is transmitted fromclient 11-1, is to be transmitted to another client, client 12-1references destination designation information (address information)included in destination designation information 2, and transmits thedistribution data transmitted from client 11-1 to another client incompliance with the referenced destination designation information. Inother words, destination designation information 2 includes the addressinformation about a client to which client 12-1 should transmit thedistribution data.

As shown in FIG. 7, the header 81 also includes destination designationinformation 3 and destination designation information 4. Destinationdesignation information 3 is to be referenced by clients that are nodesdirectly subordinate to clients 12-1 through 12-6. Destinationdesignation information 4 is to be referenced by clients that are nodestwo levels lower than clients 12-1 through 12-6. The header 81 alsocontains the information indicating the version of destinationdesignation information and the information indicating a contentsencryption method.

The contents acquisition process performed by client 11 to acquiredistribution data that is distributed from the contents distributionserver will now be described with reference to the flowchart in FIG. 8.The process shown in FIG. 8 is performed in relation to the processshown in FIG. 6.

When, for example, the user issues an instruction for accessing thecontents distribution server 1 in a situation where the configurationshown in FIG. 5 is achieved by client 11, the transmission/receptioncontrol section 61 controls the communication section 29 in step S11 toaccess the contents distribution server 1 via the network 2.

In step S12, the transmission/reception control section 61 transmits acontents transmission request, which contains, for example, theidentification information about user-designated contents and theidentification information about client 11, to the contents distributionserver 1.

Upon receipt of the contents transmission request, the contentsdistribution server 1 generates and transmits distribution data (processperformed in step S6 shown in FIG. 6). Therefore, thetransmission/reception control section 61 of client 11 determines instep S13 whether or not the distribution data containing contents istransmitted from the contents distribution server 1. If it is determinedin step S13 that the distribution data is transmitted from the contentsdistribution server 1, the transmission/reception control section 61receives the transmitted distribution data in step S14, and thenproceeds to perform step S15 so that the contents storage section 66stores the received distribution data.

As a result, the distribution data (contents) are supplied, for example,to client 11-1 from the contents distribution server 1. For example,contents 1 through 10 (distribution data 1 through 10), which aresupplied from the contents distribution server 1 or from another clientas described later, are stored in the contents storage section 66 ofclient 11-1. Contents for which no reproduction instruction has beenissued by the user for a predetermined period of time such as athree-month period are sequentially deleted. Instead, the contentssupplied from the contents distribution server 1 or from another clientare newly stored.

The process performed by a client to distribute distribution data(contents) to another client will now be described with reference to theflowchart in FIG. 10. The subsequent explanation mainly deals with anoperation in which client 11-1 transmits distribution data to client12-1.

In step S21, the transmission/reception control section 61 of client11-1 determines whether or not the line is busy, that is, determineswhether or not communication can be established. If it is determinedthat communication cannot be established, for example, because apredetermined server connected to the network 2 is being accessed, thetransmission/reception control section 61 terminates the process.

If it is determined in step S21 that communication can be established,the transmission/reception control section 61 proceeds to step S22 andreads specified contents (distribution data) from the contents storagesection 66. In step S22, the user's favorite contents or frequently usedcontents may be read by referencing a contents use history of the userof client 11-1.

In step S23, the transmission/reception control section 61 readsdestination designation information written in the header. If, forexample, the distribution data shown in FIG. 7 is read in step S22, thetransmission/reception control section 61 reads destination designationinformation 1, which corresponds to the local node (client 11-1)position. Destination designation information 1 includes destinationdesignation information 1-1, which represents the address informationabout client 12-1 in FIG. 2, and destination designation information1-2, which represents the address information about client 12-2. In stepS24, the transmission/reception control section 61 transmitsdistribution data to clients 12-1 and 12-2 in compliance with thedestination designation information read in step S23.

In the example shown in FIG. 7, destination designation information 1also includes destination designation information 1-3 so that thedistribution data is also transmitted to a client designated bydestination designation information 1-3.

When the process shown in FIG. 10 is performed by second-level clients(clients 12-1 through 12-6) in FIG. 2, such clients referencedestination designation information 2 so that the distribution data istransmitted to clients designated by destination designation information2.

In step S25, the outgoing data amount calculation section 62 calculatesthe data amount of distribution data (contents) that thetransmission/reception control section 61 has transmitted to anotherclient, and outputs the calculation result to the point managementsection 63. In step S26, the point management section 63 calculates thenumber of points according to the data amount of the distribution datatransmission to the other client, and then adds the calculated number ofpoints to the points stored in the point storage section 65. The pointsstored in the point storage section 65 are used when an instruction isissued for contents reproduction.

The process that a client performs to acquire distribution datatransmitted from another client, which relates to the process indicatedin FIG. 10, will now be described with reference to the flowchart inFIG. 11. The subsequent explanation mainly deals with a process thatclient 12-1 performs to acquire distribution data transmitted fromclient 11-1. In client 12-1, the CPU 21 executes a predetermined programso that the same elements are implemented as indicated in FIG. 5.

In step S41, the transmission/reception control section 61 of client12-1 determines whether or not distribution data is transmitted fromanother client (client 11-1). The transmission/reception control section61 stands by until it determines that distribution data is transmitted.If it is determined in step S41 that distribution data is transmittedfrom client 11-1, the transmission/reception control section 61 proceedsto step S42 and controls the communication section 29 to receive thetransmitted distribution data. In step S43, the distribution datareceived by the transmission/reception control section 61 is stored inthe contents storage section 66.

The process described above is repeatedly performed so that the contentsstorage section 66, which stores a plurality of contents as shown inFIG. 9, is also formulated in client 12-1. Further, client 12-1 performsthe process shown in FIG. 10 with predetermined timing so that thecontents stored in the contents storage section 66 of client 12-1 aretransmitted to another client.

The process for reproducing stored contents by a client will now bedescribed with reference to the flowchart in FIG. 12. The subsequentexplanation assumes that the process is performed by client 12-1.

When the user operates the input section 26 to issue an instruction forcontents reproduction, the reproduction management section 64 performsstep S51 to calculate the number of points required for reproducinguser-designated contents and informs the point management section 63 ofthe calculation result.

The point management section 63 reads the points stored in the pointstorage section 65 in step S52, proceeds to step S53, and determineswhether or not there are adequate points for contents reproduction. If,for example, 500 points are required for reproducing the user-designatedcontents and there are only 300 points in the point storage section 65,the point management section 63 proceeds to step S54, performs errorhandling and terminates the process. More specifically, error handlingis performed so as to output a message to the output section 27 for thepurpose of informing the user of the inability to reproduce thecontents.

As described earlier, point accumulation occurs in accordance with acontents transmission to a remote client. Therefore, if, for example,1000 points are stored in the point storage section 65 becauserelatively large amounts of contents were previously transmitted toremote clients, the point management section 63 determines in step S53that it is possible to reproduce the contents, which require 500 points,and informs the reproduction management section 64 of such adetermination.

In accordance with the determination conveyed from the point managementsection 63, the reproduction management section 64 reproduces thecontents in step S55 and outputs the obtained video signal and audiosignal to the output section 27. The image corresponding to the videosignal reproduced by the reproduction management section 64 appears onthe LCD, which is an element of the output section 27. The soundcorresponding to the audio signal is output to the loudspeaker, which isan element of the output section 27.

In step S56, the point management section 63 subtracts the number ofpoints used for contents reproduction from the number of points storedin the point storage section 65. If, for example, the contents requiring500 points are reproduced in a situation where 1000 points are stored inthe point storage section 65, the point management section 63 updatesthe number of points stored in the point storage section 65 to 500points.

As described above, the user of each client can use contents inaccordance with points, which are supplied according to the amount ofcontents transmitted to the other clients, that is, the points acquiredby offering the client's communication function as the communicationfunction of the contents distribution server 1.

Consequently, the clients can not only increase the number of storedpoints by transmitting contents to another client using a period of timeduring which the communication function is not used, but also usecontents by making use of the stored points. Meanwhile, the contentsdistribution server 1 can not only reduce the process load required forcontents supply, but also supply contents to many clients with ease.

It has been assumed that the destination designation information to beadded to contents is arbitrarily selected by a destination designationinformation selection section 43. Alternatively, however, theinformation about contents reproduced by each client may be transmittedto the contents distribution server 1 so that an information selectionis made according to the preferences of the user of each client.

When, for example, the contents distribution server 1 transmits contentsconcerning sports, the address information about only the clients usedby sports-loving users is selected for such sports contents inaccordance with the preference information transmitted from the clients.The selected address information is then added to the sports contents asdestination designation information. This ensures that the sportscontents are sequentially transmitted to clients used by sports-lovingusers. In this manner, contents can be distributed according to thepreferences of individual users.

The points acquired upon contents transmission to a remote client may besupplied to a client in exchange of money amount information stored inan IC card or the amount of money in an account designated by a creditcard. Further, the video signal and audio signal reproduced by a clientmay be supplied to a television receiver, which is wired or wirelesslyconnected to the client, and output from the television receiver.

It has been assumed that each client decides the distribution data(contents) destination in accordance with the information written in thedistribution data header shown in FIG. 7. Alternatively, however, thecontents destination may be determined from a destination list, which isupdated with predetermined timing by the contents distribution server 1.This alternatively makes it possible to cope with dynamic changes in thenetwork configuration.

For example, the destination list is set for a specific client andsupplied. Upon receipt of the destination list, the client complies withthe information written in the destination list and transmits contentsto another client that is set as a destination. As described later, eachclient performs this process so that the same contents are distributedto all clients in a predetermined group.

FIG. 13 is a schematic diagram illustrating an operation that isperformed to distribute contents in accordance with a destination list.For example, client 111-1 acquires a destination list and contents fromthe contents distribution server 1, selects clients 112-1 through 112-3as contents destination clients in accordance with the informationwritten in the destination list, and transmits the acquired contents tothe destination clients.

The destination list is managed by the contents distribution server 1 asthe information shown in FIG. 14.

In the leftmost column of a list shown in FIG. 14, client designationinformation is written. The information (destination addresses 1 through3) written to the right of the leftmost column indicates contentsdestination clients to which the leftmost client transmits contents.

In the example shown in FIG. 14, the information written in the secondline represents a destination list for client 111-1. The contentsdistribution server 1 supplies a destination list written in the secondline to client 111-1 in accordance with the information (“111-1”)written in the leftmost column. When the destination list is suppliedfrom the contents distribution server 1, client 111-1 selects clients112-1 through 112-3 as contents destination clients in accordance withdestination addresses 1 through 3 (clients 112-1 through 112-3) that arewritten in the second line of FIG. 14.

As indicated in FIG. 13, client 111-1 then distributes contents toclients 112-1 through 112-3 in accordance with the destination listshown in FIG. 14.

Similarly, the contents distribution server 1 supplies the informationwritten in the third line of FIG. 14 to client 112-1 as a destinationlist. Upon receipt of the destination list, client 112-1 transmits, forexample, the contents supplied from client 111-1 to clients 113-1 and113-2 in accordance with destination addresses 1 through 3. In the thirdline of the destination list shown in FIG. 14, “113-1” and “113-2” arewritten as destination address 1 and destination address 2,respectively. Client 112-1 transmits contents to clients 113-1 and 113-2in accordance with such address information. It should also be notedthat no client address is set in the destination address 3 column forclient 112-1.

The information written in the lowest line of FIG. 14 is supplied toclient 112-2 as a destination list, and contents are transmitted toclients 113-3 and 113-4 in accordance with the written information(“113-3” and “113-4”).

In accordance with the destination list shown in FIG. 14, the contentssupplied from the contents distribution server 1 are transmitted to allclients that belong to group G1, which is shown in FIG. 13. Morespecifically, client 111-1 transmits the contents to clients 112-1through 112-3, and client 112-1 transmits the contents to clients 113-1and 113-2. Further, client 112-2 transmits the contents to clients 113-3and 113-4. Clients (not shown) also exist under clients 113-1 through113-4. Clients 113-1 through 113-4 transmit the contents to suchsubordinate clients as well.

The destination list is updated by the contents distribution server 1 ifany existing client cannot establish communication. For the destinationlist, identification information for identifying clients to which thelist is supplied is set. Each client acquires its own destination list(updated destination list) in accordance with the identificationinformation. The distribution system operation performed to distributecontents in accordance with an updated destination list will bedescribed later with reference to a flowchart.

Group G1, which is shown in FIG. 13, is formed by means of collaborativefiltering based on the user preference information about each client.Each user may be allowed to choose a group to belong to. Further, agroup may be formed for each region in which clients are installed sothat the same contents are distributed to the clients.

The processes performed by various devices composing the distributionsystem shown in FIG. 13 will now be described.

First of all, the process that a client performs to distribute contentswill now be described with reference to the flowchart in FIG. 15.

For example, in step S71, the CPU 21 of client 111-1 acquires adestination list from the contents distribution server 1, proceeds tostep S72, and acquires contents. As described earlier, the storagesection 28 stores the acquired contents.

In step S73, the CPU 21 determines whether or not communication can beestablished (whether or not the CPU 21 can establish communication). Ifit is determined that communication cannot be established, the CPU 21proceeds to step S74 and passes processing to a higher-level client.

Therefore, if client 112-1 performs the process shown in FIG. 15 and itis determined in step S73 that communication cannot be established,client 111-1 instead of client 112-1 will subsequently perform theprocess. In other words, client 111-1 transmits the contents to clientsthat are designated by the destination list as the destinations to whichclient 112-1 transmits the contents.

If, on the other hand, it is determined in step S73 that communicationcan be established, the CPU 21 proceeds to step S75 and references theinformation written in the destination list to determine whether or notthe contents have been transmitted to all the destinations (clients). Ifit is determined in step S75 that the contents have been transmitted toall the destination clients, the process terminates.

If it is determined in step S75 that the contents have not beentransmitted to all clients in the destination list, the CPU 21 proceedsto step S76. If, for example, client 111-1 has not transmitted thecontents to client 112-3, which is designated by destination address 3as indicated in the destination list shown in FIG. 14, the CPU 21 ofclient 111-1 determines in step S75 that the contents have not beentransmitted to all clients in the destination list.

The CPU 21 begins to access the clients designated by the destinationlist. In step S76, the CPU 21 determines whether or not access is gained(determines whether or not the access destination clients can establishcommunication). If it is determined in step S76 that access cannot begained, the CPU 21 proceeds to step S77 and performs a process forupdating the destination list.

In step S77, the information about inaccessed clients is conveyed to thecontents distribution server 1 to update the destination list. Thedestination list update process to be performed in step S77 will bedescribed later with reference to the flowchart in FIG. 16.

After completion of the destination list update process in step S77,processing returns to step S75 so as to repeatedly perform thesubsequent processing steps.

If, on the other hand, it is determined in step S76 that the destinationclients are accessed, the CPU 21 proceeds to step S78 and transmits thecontents, which have been transmitted from the contents distributionserver 1, to the accessed clients.

It means that client 111-1 transmits the contents, for example, toclient 112-1, which is designated by destination address 1 as indicatedin the destination list shown in FIG. 14.

In step S79, the CPU 21 determines whether or not the contentstransmission is ended normally. If it is determined that the contentstransmission is not ended normally, the CPU 21 proceeds to step S77 andperforms a destination list update process. If, for example,communication is lost during contents transmission so that the contentstransmission is not terminated normally, the destination list is updatedin step S77.

If it is determined in step S79 that the contents transmission isterminated normally, the CPU 21 returns to step S75 and repeatedlyperforms the subsequent processing steps.

When the above process is repeatedly performed by each client, the samecontents are distributed to all clients in a group.

The process performed in step S77 in FIG. 15 to update the destinationlist of a client (e.g., client 111-1) will now be described withreference to the flowchart in FIG. 16.

In step S91, the CPU 21 conveys the information about clients to whichcontents have not been transmitted due to an address change to thecontents distribution server 1, for example.

Upon receipt of the above information, the contents distribution server1 generates a destination list in which are new addresses are written.The destination list updated in this manner is then conveyed to clientsthat need it (step S103 in FIG. 17).

In step S92, the CPU 21 determines whether or not the updateddestination list is transmitted in accordance with the output from thecommunication section 29. The CPU 21 stands by until it is determinedthat the updated destination list is transmitted.

If it is determined in step S92 that the updated destination list istransmitted, the CPU 21 proceeds to step S93 and receives the updateddestination list. Subsequently, processing steps S75 and beyond in FIG.15 are performed to transmit the contents in accordance with the updateddestination list.

The destination list update process that the contents distributionserver 1 performs in response to the process shown in FIG. 16 will nowbe described with reference to the flowchart in FIG. 17.

In step S101, the CPU 21 of the contents distribution server 1 acquiresthe information about clients to which contents could not betransmitted. In other words, clients to which the contents could not betransmitted in accordance with the information written in thedestination list conveys information including the identificationinformation about their destination clients (step S91 in FIG. 16).

In step S102, the CPU 21 of the contents distribution server 1 updatesthe destination list by causing it to additionally list one of thedestinations that are set as contents destination clients for clients towhich the contents cannot be transmitted (clients that cannot establishcommunication). In this instance, the old information about thedestinations is deleted.

In step S103, the CPU 21 transmits the destination list updated in stepS102 to clients that need it.

When, for example, client 111-1 conveys the information about client112-1 as the information about a client to which the contents cannot betransmitted as indicated in FIG. 13, the address of client 113-1 or113-2, which is set as a destination of contents transmission by client112-1 is added to the destination list for client 111-1 and supplied toclient 111-1.

Subsequently, client 111-1 transmits the contents to client 113-1 inaccordance with the updated destination list.

Further, the destination list for client 113-1 is also updated by thecontents distribution server 1. The updated destination list is thensupplied to client 113-1. In the foregoing example, the destination listfor client 113-1 is such that the address of client 113-2, which is setas a destination of contents transmission by client 112-1 (client thatcannot establish communication), is added to the addresses written inthe destination list prevailing before the update. In other words, thedestination list in which the addresses of clients (not shown)subordinate to client 113-1 and the address of client 113-2 are writtenis supplied to client 113-1.

Upon receipt of the updated destination list, client 113-1 transmits thecontents supplied from client 111-1 to the subordinate clients andclient 113-2 in accordance with the information written in thedestination list.

As described above, one of the clients directly under a client thatcannot establish communication (client 113-1, which is shown in theabove example, directly under client 112-1, and cannot establishcommunication) functions as a substitute for a client that cannotestablish communication, thereby distributing the contents.

When the above process is performed by all clients, contents can bedistributed to a group in which the network configuration dynamicallychanges in accordance with the updated destination list while makingeffective use of hardware resources.

If a client that has been unable to establish communication reverts tonormal (is now able to establish communication), the contentsdistribution server 1 is notified of the client's ability to establishcommunication so that the contents are supplied to the client that isnow able to establish communication.

It has been assumed that each client waits until another client or thecontents distribution server 1 distributes contents and then acquiresthe distributed contents. Alternatively, however, each client may beallowed to access the contents distribution server 1 and search, forexample, for the address of a remote client that owns user-specifiedcontents. Upon receipt of a notification of the address of a remoteclient possessing the contents from the contents distribution serve 1,each client accesses a client designated by the address and then makes arequest for contents transmission. As described earlier, the contentstransmitted in compliance with the request can be reproduced dependingon the calculated number of points.

The above contents distribution may be performed in compliance with theIGMP (Internet Group Management Protocol), DVMRP (Distance VectorMulticast Routing Protocol), or other multicast protocol. An alternativeis to accomplish contents distribution by means of P2P (peer-to-peer)communication, which is established without the use of a server.

It has been assumed that a group to which the same contents aredistributed is formed in accordance with the preference informationabout the user or a user selection. Alternatively, however, infrequentlybusy clients in the group may be set as higher-level clients (clientsnear the root) to form a network on a tree-structure shown in FIG. 13 sothat the lower the frequency of a client's communication line use, thehigher the client level. Another alternative is to let the contentsdistribution server 1 manage networked clients whose addressinfrequently changes as high-level clients. This ensures that a largeamount of contents can be distributed with increased certainty.

It has been assumed that the contents distribution server 1 exercisesmanagement over contents distribution and destination list supply.Alternatively, however, different servers may be used to exercisemanagement over contents distribution and destination list supply,respectively.

A series of processes described above may be performed by eitherhardware or software.

When a series of processes is to be performed by software, the programsconstituting the software are installed from a network or a recordingmedium onto a computer built in dedicated hardware or a general-purposepersonal computer, which can exercise various functions when variousprograms are installed.

The recording medium may not only be a package medium such as a magneticdisk 31 (flexible disk included), an optical disk 32 (CD-ROM (CompactDisk-Read Only Memory)), a DVD (Digital Versatile Disk), amagneto-optical disk 33 (MD (registered trademark) (Mini-Disk)), asemiconductor memory 34, or the like, which records a program and isdistributed separately from the apparatus main body to supply theprogram to the user, but also be a ROM 22 for recording a program, ahard disk contained in the storage section 28, or the like, which isbuilt in the main body of the apparatus before being supplied to theuser.

In the present description, the steps for writing the program to berecorded on a recording medium not only include processes that areperformed in a described time-series order but also include processesthat are performed parallelly or individually and not necessarily intime-series order.

Further, the term “system”, which is used in the present description,represents an aggregate of a plurality of apparatuses.

INDUSTRIAL APPLICABILITY

The present invention is capable of distributing contents to a pluralityof clients. Further, the present invention permits efficient use ofhardware resources. Furthermore, the present invention ensures thatcontents can be used in accordance with information that is suppliedwhen the contents are transmitted to remote clients.

It should be understood that various changes and modifications to thepresently preferred embodiments described herein will be apparent tothose skilled in the art. Such changes and modifications can be madewithout departing from the spirit and scope of the present invention andwithout diminishing its intended advantages. It is therefore intendedthat such changes and modifications be covered by the appended claims.

1-15. (canceled)
 16. An information processing apparatus comprising:storage means for storing contents that are supplied from an informationmanagement apparatus that manages the supply of contents; transmissionmeans for transmitting contents to a first remote information processingapparatus that is specified by designation information, whichaccompanies said contents stored by said storage means and specifies thedestination of said contents; distribution cost calculation means forcalculating a distribution cost of said contents that are transmitted bysaid transmission means; and management means for managing priceinformation indicating a price for use of said contents that correspondsto said distribution cost calculated by said distribution costcalculation means.
 17. The information processing apparatus according toclaim 16, further comprising acquisition means for acquiring contentsfrom any one of said information management apparatus or a second remoteinformation processing apparatus that receives the supply of saidcontents from said information management apparatus, wherein saidstorage means stores said contents that are acquired by said acquisitionmeans.
 18. The information processing apparatus according to claim 16,further comprising reproduction means, which, when an instruction isissued to reproduce said contents stored by said storage means,reproduces said contents in accordance with said price informationmanaged by said management means.
 19. The information processingapparatus according to claim 16, wherein said distribution costcalculation means calculates the time during which said contents aretransmitted by said transmission means, and regards the calculated timeas said distribution cost.
 20. The information processing apparatusaccording to claim 16, wherein said distribution cost calculation meanscalculates the data amount of said contents transmitted by saidtransmission means and regards the calculated data amount as saiddistribution cost.
 21. The information processing apparatus according toclaim 16, further comprising detection means for detecting acommunication status of the information processing apparatus andcommunication control means for controlling transmission of saidcontents from said transmission means in accordance with saidcommunication status detected by said detection means.
 22. Aninformation processing method comprising: storing contents supplied froman information management apparatus, which manages the supply ofcontents; transmitting said contents to a remote information processingapparatus that is specified by designation information that accompaniessaid contents stored and specifies the destination of said contents;calculating the distribution cost of said contents that has beentransmitted; and managing price information indicating a price for theuse of said contents that corresponds to said distribution costcalculated.
 23. A recording medium for recording a computer-readableprogram, the program comprising: a storage control step of controllingthe storage of contents supplied from an information managementapparatus that manages the supply of contents; a transmission controlstep of controlling the transmission of said contents to a remoteinformation processing apparatus that is specified by designationinformation that accompanies said contents stored in said storagecontrol step and specifies the destination of said contents; adistribution cost calculation control step of controlling calculation ofthe distribution cost of said contents transmitted in said transmissioncontrol step; and a management control step of controlling themanagement of price information indicating a price for the use of saidcontents, which corresponds to said distribution cost calculated in saiddistribution cost calculation control step.
 24. A program for causing acomputer to execute: a storage control step of controlling the storageof contents supplied from an information management apparatus thatmanages the supply of contents; a transmission control step ofcontrolling transmission of said contents to a remote informationprocessing apparatus that is specified by designation information thataccompanies said contents stored in said storage control step andspecifies the destination of said contents; a distribution costcalculation control step of controlling the calculation of thedistribution cost of said contents transmitted in said transmissioncontrol step; and a management control step of controlling themanagement of price information indicating a price for the use of saidcontents that corresponds to said distribution cost calculated in saiddistribution cost calculation control step.
 25. An informationmanagement apparatus for managing distribution of contents toinformation processing apparatuses connected via a network, theinformation management apparatus comprising: storage means for storingcontents that are available with information acquired by saidinformation processing apparatus used as a price when contents are sentfrom said information processing apparatus to a remote informationprocessing apparatus; generation means for generating, for saidinformation processing apparatus that has acquired contents, designationinformation that specifies a remote information processing apparatus towhich the contents are to be transmitted; and supply means for supplyingthe contents stored by said storage means and said designationinformation generated by said generation means to said informationprocessing apparatus.
 26. The information management apparatus accordingto claim 25, further comprising management means for managing thelocation of said information processing apparatus within said network,wherein, when said information processing apparatus notifies that thecontents cannot be transmitted to said remote information processingapparatus, said generation means generates said designation informationthat includes information indicating the current location of said remoteinformation processing apparatus, which is managed by said managementmeans.
 27. The information management apparatus according to claim 25,wherein said generation means generates said designation information sothat said information processing apparatus transmits contents to saidremote information processing apparatus when the period during whichsaid information processing apparatus can communicate is longer than theperiod during which said remote information processing apparatus cancommunicate.
 28. An information management method exercised by aninformation management apparatus that manages the distribution ofcontents to information processing apparatuses connected via a network,the information management method comprising: a storage step of storingcontents that are available with the information acquired by saidinformation processing apparatus used as a price when the contents aretransmitted from said information processing apparatus to a remoteinformation processing apparatus; a generation step of generating, forsaid information processing apparatus that has acquired contents,designation information that specifies a remote information processingapparatus to which the contents are to be transmitted; and a supply stepof supplying contents stored in said storage step and said designationinformation generated in said generation step to said informationprocessing apparatus.
 29. A recording medium for recording acomputer-readable program that controls an information managementapparatus for managing distribution of contents to informationprocessing apparatuses connected via a network, the program comprising:a storage control step of controlling the storage of contents that areavailable with the information acquired by said information processingapparatus used as a price when the contents are transmitted from saidinformation processing apparatus to a remote information processingapparatus; a generation step of generating, for said informationprocessing apparatus that has acquired contents, designation informationthat specifies a remote information processing apparatus to which thecontents are to be transmitted; and a supply control step of controllingthe supply of contents stored in said storage control step and saiddesignation information generated in said generation step to saidinformation processing apparatus.
 30. A program for causing a computerfor controlling an information management apparatus, which manages thedistribution of contents to information processing apparatuses connectedvia a network, to execute: a storage control step of controlling thestorage of contents that are available with the information acquired bysaid information processing apparatus used as a price when the contentsare transmitted from said information processing apparatus to a remoteinformation processing apparatus; a generation step of generating, forsaid information processing apparatus that has acquired contents,designation information that specifies a remote information processingapparatus to which the contents are to be transmitted; and a supplycontrol step of controlling supply of contents stored in said storagecontrol step and said designation information generated in saidgeneration step to said information processing apparatus.